'''
编写一个  程序，实现一个简单的学生成绩管理系统。系统需要支持以下功能：
添加学生及其成绩。
删除学生及其成绩。
查询某个学生的成绩。
查询某个学生某一门课的成绩。
查询所有学生的成绩，按成绩总分从高到低排序
存储格式为 {姓名：{科目名:分数}}，示例如下：
{"王五":{"语文":89,"数学":80,"化学":91,"体育":99},"王武":{"语文":119,"数学":60,"化学":71,"体育":69}}
'''
score= {"王二":{"语文":99,"数学":89,"化学":31,"体育":69},"王五":{"语文":89,"数学":80,"化学":91,"体育":99},"王武":{"语文":119,"数学":60,"化学":71,"体育":69}}

choice=None
while True:
    choice=int(input("1：加新生\n2:删除\n3:查询成绩：4查询课程成绩\n5:查看所有并排序\n9:退出\n请选择："))
    if choice==1:
        stuname=input("新手名字：")
        yuwen=int(input('语文成绩：'))
        shuxue=int(input('数学成绩：'))
        huaxue=int(input('化学成绩：'))
        tiyu=int(input('体育成绩：'))
        score[stuname]={"语文":yuwen,"数学":shuxue,"化学":huaxue,"体育":tiyu}
    elif choice==2:
        stuname = input("删谁：")
        if stuname in score:
            del score[stuname]
        else:
            print("查无此人")
    elif choice==3:
        stuname = input("cha谁：")
        if stuname in score:
            s=score[stuname]
            print("成绩如下：\n",s)
        else:
            print("查无此人")
    elif choice==5:
        #首先把字典转换成列表，通过列表来排序（算总成绩），用冒泡实现
        l=[(k,v) for k,v in score.items()]
        print(l)
        size=len(l)
        i=0
        while i<size-1:
            j=0
            while j<size-i-1:
                #j的总成绩，j+1的总成绩
                s1=sum([x for x in l[j][1].values()])
                s2=sum([x for x in l[j+1][1].values()])
                if s1<s2:
                    t=l[j]
                    l[j]=l[j+1]
                    l[j+1]=t
                j+=1
            i+=1
        print("排序后：",l)
        # for x,y in score.items():
        #     print(x,y)
    elif choice==9:
        break